package com.pipi.biyesheji.service;

import com.pipi.biyesheji.pojo.Category;
import com.pipi.biyesheji.pojo.Product;
import com.pipi.biyesheji.pojo.ProductVO;
import com.pipi.biyesheji.pojo.User;

import java.util.List;

public interface ProductService extends CrudService<Product>{

    /**
     * 商品上线
     * @param name
     * @return
     */
    String updateStatus(String name, Integer status);

    /**
     * 设置商品图片保存位置
     * @param vo
     */
    void setImageURL(ProductVO vo);

    /**
     * 获得分类实体
     * @param id 分类id
     * @return
     */
    Category getCategoryByCid(Long id);

    /**
     * 更新商品
     * @param product
     */
    void update(Product product);

    /**
     *  获取分类下的所有上线商品列表
     * @param id
     * @return
     */
    List<Product> getProductsByCid(Long id);

    /**
     * 获得商品所属商家
     * @param id 商家id
     * @return
     */
    User getUserByBid(Long id);

    /**
     * 模糊搜索
     * @param pName 商品name
     * @return 商品集合
     */
    List<Product> findByName(String pName);

    /**
     *
     * @param cid
     * @return
     */
    List<Product> findByCid(Long cid);


    /**
     * <p> 根据商家id查询商品 </p>
     * @param bid
     */
    List<Product> getProductByBid(Long bid);
}
